#ifndef __SCNS_ST7789_H__
#define __SCNS_ST7789_H__

#include "ScnsConfig.h"

#if defined(SCNS_ST7789_ENABLE)&&SCNS_ST7789_ENABLE==1

#include "ScnsYing.h"
#include "ScnsBspSt7789.h"
#include "ScnsLcd.h"

extern ScnsStatus scnsSt7789Init(ScnsSt7789Enum stn);
extern ScnsStatus scnsSt7789WriteColor(ScnsSt7789Enum stN,ScnsColorRgb565 color[],uint32 n,uint8 last,ScnsLock*lock);
extern ScnsStatus scnsSt7789ReadColor(ScnsSt7789Enum stN,uint8 color[],uint32 n,uint8 last,ScnsLock*lock);
extern ScnsStatus scnsSt7789SetAddress(ScnsSt7789Enum stn,Point plu,Point prd,uint8 write);
extern Point scnsSt7789GetBorder(ScnsSt7789Enum stn);
extern ScnsStatus scnsSt7789SetBackgroundLight(ScnsSt7789Enum stn,ScnsLcdBackgroundLightStatus status);
extern ScnsStatus scnsSt7789AsyncCallback(ScnsSt7789Enum stN);

#define scnsSt7789LcdPhysicalConfig(xx,yy)  {.x=(xx),.y=(yy),.fullScreen=0,.writeColorFormat=SCNS_COLOR_FORMAT_RGB565,.readColorFormat=SCNS_COLOR_FORMAT_RGB666_P222}

#endif
#endif
